知道檔案的權限之後,我們就可以開始來嘗試建立一些自己的檔案囉!
其中一種作法,相信各位還記得,就是 Day 12:撰寫檔案,談 nano、vim 所介紹的 nano 或 vim 存檔之後所儲存的檔案。
不過,有時候我們會希望可以複製既有的檔案,這下該怎麼辦呢?
在一般的視窗界面來說,通常我們會滑鼠右鍵,然後點選「複製」,來建立檔案的副本。
在 linux 裡面,我們可以使用 cp 這個指令
NAME
       cp - copy files and directories
我們試著複製 aaa.txt 看看
cp aaa.txt aaa1.txt
ls -al
-r---w---x  1 ec2-user ec2-user     5 Sep 14 12:19 aaa1.txt
-r---w---x  1 ec2-user ec2-user     5 Sep 12 15:38 aaa.txt
可以看到,我們成功地複製了 aaa.txt
不過,如果我們嘗試用這個指令複製 /home/ec2-user/ 的話,會發生以下的錯誤
cp -r ec2-user/ ec2-user1
cp: cannot create directory ‘ec2-user1’: Permission denied
這是因為,對資料夾來說,嘗試在資料夾裡面建立檔案或資料夾,等同於對這個資料夾進行「寫入」的動作,所以會需要對該資料夾寫入的權限。
剛剛我們嘗試去複製 /home/ec2-user/ 的話,我們會需要寫入 /home/ 的權限,而這對於身份為 ec2-user 的我們來說,是不夠的。
所以我們要練習複製資料夾的話,要在 /home/ec2-user/ 裡面先用 mkdir 建立資料夾
cd /home/ec2-user/
mkdir test/
然後對 test/ 進行複製
cp -r test/ test1/
ls -al
drwxrwxr-x  2 ec2-user ec2-user     6 Sep 14 12:23 test
drwxrwxr-x  2 ec2-user ec2-user     6 Sep 14 12:22 test1
可以看到,我們成功的複製出一個資料夾了!
順帶一提,如果我們嘗試用 vim 打開資料夾的話
會看到以下內容
vim test/
" ============================================================================
" Netrw Directory Listing                                        (netrw v156)
"   /home/ec2-user/test
"   Sorted by      name
"   Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:special
" ==============================================================================
../                                                                                                                                 
./
如果要移動檔案的話,可以使用 mv 這個指令
NAME
       mv - move (rename) files
我們試著把 aaa.txt 搬到 test/  裡面
mv aaa.txt test/aaa.txt
cd test
ls -al
-r---w---x 1 ec2-user ec2-user   5 Sep 12 15:38 aaa.txt
如果要移除檔案的話,我們可以使用 rm 這個指令
NAME
       rm - remove files or directories
我們試著移除 test/aaa.txt
cd test/
rm aaa.txt
rm: remove write-protected regular file ‘aaa.txt’?y
ls -al
drwxrwxr-x 2 ec2-user ec2-user   6 Sep 14 12:35 .
drwx------ 8 ec2-user ec2-user 200 Sep 14 12:32 ..
這樣,我們就成功的移除檔案了!
今天對檔案操作的指令就先分享到這邊,我們明天見!